package com.ruoyi.project.storage.mapper;

import com.ruoyi.project.storage.domain.Address;

import java.util.List;
import java.util.Map;

/**
 * 地址管理Mapper接口
 *
 * @author mengyuanqing
 * @date 2020/5/11
 */
public interface AddressMapper {
    /**
     * 查询地址列表
     *
     * @param address 对象
     * @return 列表
     */
    List<Address> selectAddressList(Address address);

    /**
     * 插入地址管理
     *
     * @param address 对象
     * @return 结果
     */
    int insertAddress(Address address);

    /**
     * 查看当前默认地址数
     *
     * @param address 对象
     * @return 个数
     */
    Long selectAddressId(Address address);

    /**
     * 设置当前用户下所有地址为非默认地址
     *
     * @param address 对象
     * @return 结果
     */
    int setNotDefaultAddress(Address address);

    /**
     * 编辑地址
     *
     * @param address 对象
     * @return 结果
     */
    int updateAddress(Address address);

    /**
     * 删除地址
     *
     * @param batchUpdateMapByIds 地址id
     * @return 结果
     */
    int deleteAddressByIds(Map<String, Object> batchUpdateMapByIds);

    /**
     * 设置默认地址
     *
     * @param id 地址id
     * @return 结果
     */
    int setDefaultAddress(Long id);

    /**
     * 查找默认地址
     *
     * @param address 地址对象
     * @return 结果
     */
    Address selectDefaultAddress(Address address);

}
